import request from '@/utils/request'

/**
 * 获取公告列表
 * @returns {Promise} 请求结果
 */
export function getAnnouncements() {
	return request({
		url: '/announcements',
		method: 'get',
	})
}

/**
 * 分页获取公告
 * @param {Object} params - 分页参数 {pageNum, pageSize}
 * @returns {Promise} 请求结果
 */
export function getAnnouncementsByPage(params) {
	return request({
		url: '/announcements/page',
		method: 'get',
		params,
	})
}

/**
 * 获取公告详情
 * @param {Number} id - 公告ID
 * @returns {Promise} 请求结果
 */
export function getAnnouncementById(id) {
	return request({
		url: `/announcements/${id}`,
		method: 'get',
	})
}

/**
 * 添加公告（管理员）
 * @param {Object} data - 公告数据
 * @returns {Promise} 请求结果
 */
export function addAnnouncement(data) {
	return request({
		url: '/admin/announcements',
		method: 'post',
		data,
	})
}

/**
 * 更新公告（管理员）
 * @param {Number} id - 公告ID
 * @param {Object} data - 公告数据
 * @returns {Promise} 请求结果
 */
export function updateAnnouncement(id, data) {
	return request({
		url: `/admin/announcements/${id}`,
		method: 'put',
		data,
	})
}

/**
 * 删除公告（管理员）
 * @param {Number} id - 公告ID
 * @returns {Promise} 请求结果
 */
export function deleteAnnouncement(id) {
	return request({
		url: `/admin/announcements/${id}`,
		method: 'delete',
	})
}
